Skip to content

Require Python 3.11 and update package lock - #14

Merged
splasky merged 1 commit into
devfrom
python-3.11-package-upgrade
Aug 11, 2026
Merged

Require Python 3.11 and update package lock#14
splasky merged 1 commit into
devfrom
python-3.11-package-upgrade

Conversation

@splasky

@splasky splasky commented Aug 11, 2026

Copy link
Copy Markdown
Owner

Summary

  • Raise the project support floor from Python 3.10 to Python 3.11.
  • Bump python-datastore-sqlalchemy from 0.0.3 to 0.0.4.
  • Add explicit Python 3.11, 3.12, and 3.13 package classifiers.
  • Regenerate uv.lock with upgraded package resolution for the new Python range.
  • Update package CI to run the build job on Python 3.11 and 3.13.

Why

Google client libraries now emit Python 3.10 end-of-life warnings. Moving this project to Python 3.11+ removes that warning path and aligns the support policy with the maintained Python versions we want to validate going forward.

Validation

  • uv sync --locked
  • GCLOUD_PATH=/mnt/workspace/code/google-cloud-sdk/bin/gcloud uv run pytest
    • Python 3.12.3
    • 399 passed
  • GCLOUD_PATH=/mnt/workspace/code/google-cloud-sdk/bin/gcloud uv run --python 3.11 pytest
    • Python 3.11.14
    • 399 passed
  • Superset targeted datastore integration tests
    • 20 passed

Notes

The uv hardlink fallback warning can still appear in this workspace because the uv cache and .venv are on filesystems that do not support hardlinking across that boundary. This PR does not add project-level uv link-mode configuration for that local filesystem behavior.

Raise the project support floor from Python 3.10 to Python 3.11 because Google client libraries now warn when running on Python 3.10 ahead of its 2026-10-04 end of life.

Bump python-datastore-sqlalchemy to 0.0.4 and add explicit Python 3.11, 3.12, and 3.13 classifiers so package metadata matches the new supported range.

Regenerate uv.lock with uv lock --upgrade after changing requires-python to >=3.11. The new lock removes Python 3.10-only dependencies such as exceptiongroup and updates the resolved Google client library stack, including google-api-core, google-cloud-bigquery, google-cloud-core, google-cloud-firestore, and related transitive packages.

Update Python CI to run the package test job against both Python 3.11 and 3.13. Python 3.11 validates the new minimum supported version, while Python 3.13 keeps coverage for the newer interpreter used by the existing CI job. The Superset integration job remains on Python 3.11.

Validation: uv sync --locked passed; GCLOUD_PATH=/mnt/workspace/code/google-cloud-sdk/bin/gcloud uv run pytest passed on Python 3.12.3 with 399 tests; GCLOUD_PATH=/mnt/workspace/code/google-cloud-sdk/bin/gcloud uv run --python 3.11 pytest passed on Python 3.11.14 with 399 tests; Superset datastore integration tests passed with 20 tests.
@splasky
splasky marked this pull request as ready for review August 11, 2026 18:13
@splasky
splasky merged commit 93088e2 into dev Aug 11, 2026
3 checks passed
@splasky
splasky deleted the python-3.11-package-upgrade branch August 11, 2026 18:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant